package cliente.pagina.contenido.comunicacion;

import comun.constantes.*;
import cliente.pagina.*;
import cliente.pagina.contenido.comunicacionEditar.*;
import helpers.comunicacion.HelperComunicacion;
import helpers.calendario.HelperCalendario;
/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */

public class ContenidoCalendario extends ContenidoComunicacion {
  int mes= (new java.util.Date()).getMonth()+1;

  public ContenidoCalendario() {
  }

  public ContenidoCalendario(Pagina pagina) {
    this.setPagina(pagina);
  }

  public void setPagina(Pagina pagina)
  {
    super.setPagina(pagina);
   if (pagina!=null && pagina.getParameter(PARAMETROS_PAGINAS.MES)!=null)
      this.mes = (new Integer(pagina.getParameter(PARAMETROS_PAGINAS.MES)).intValue());

  }

  /**
   * Retorna el codigo html del boton para modificar
   * @return
   *
  */
 protected String generarHtmlBotonAgregarModificar()
 {
   HelperCalendario helperCalendario = null;

  String html = null;
  try {
    helperCalendario = new HelperCalendario(this.getPagina());
    ContenidoCalendarioEditar contenidoCalendarioEditar = new ContenidoCalendarioEditar(this.getPagina());
    html = "";
    html += "     <table border=\"0\" cellspacing=\"2\" cellpadding=\"2\">\n";
    html += "      <tr>\n";
    html += "       <td>\n";
    html += "        <form name=\"comunicacionTop\" id=\"comunicacionTop\" method=\"post\" action=\""+this.getPathNombrePagina()+"\">\n";
    html += "           <label for="+PARAMETROS_PAGINAS.MES+"><strong>"+PARAMETROS_PAGINAS.MES+"</strong></label>\n";
    html += helperCalendario.generarHTMLComboMes(this.mes);
    html += "           <input name=\"irABottom\" id=\"irABottom\" type=\"submit\" class=\"boton\" onclick=\"MM_goToURL('parent','"+this.getPathNombrePagina()+"')\" value=\"Ir\" />\n";
    html += "        </form>\n";
    html += "       </td>\n";

    // si tiene permiso de escritura agrego el boton de edicion
    if (this.getPagina().obtenerPermisoRecurso(this.getNombreRecurso()).compareTo(TIPO_PERMISOS.ESCRITURA)==0)
    {
      html += "       <td>\n";
      html += "        <form name=\"comunicacionEditar\" id=\"comunicacionEditar\" method=\"post\" action=\""+contenidoCalendarioEditar.getPathNombrePagina()+"\">\n";
      html += "           <input name=\"submitBottom\" id=\"sumbitBottom\" type=\"submit\" class=\"boton\" onclick=\"MM_goToURL('parent','"+contenidoCalendarioEditar.getPathNombrePagina()+"')\" value=\""+contenidoCalendarioEditar.getTitulo()+"\" />\n";
      html += "        </form>\n";
      html += "       </td>\n";
    }
      html += "     </tr>\n";
      html += "    </table>\n";
      helperCalendario.commit();
  }
  catch (Exception ex) {
    ex.printStackTrace();
    helperCalendario.rollback();    
  }
  return html;
 }


  /**
   * Retorna el codigo html de la division contenido
   * @return
    /**
     * Retorna el codigo html de la division contenido
     * @return
     */
    public String getHTMLVista()
    {
      //ContenidoCalendarioEditar contenidoCalendarioEditar = new ContenidoCalendarioEditar(this.getPagina());
      HelperComunicacion helperComunicacion = null;
      HelperCalendario helperCalendario = null;

      String html = null;
      try {
    	 helperCalendario = new HelperCalendario(this.getPagina());
         html = "       <h1>"+this.getTitulo()+"</h1>";
         html +=      "        <div id=\"columna\">\n";
         html += helperCalendario.getHTMLCalendario(this.mes,false);
         helperCalendario.commit();
         // si tiene permiso de escritura agrego la version reducida de agregar eventos
         // esta comentado porque se resolvio sacra la opcion de agregar evento en version reduciada
         //        if (this.getPagina().obtenerPermisoRecurso(this.getNombreRecurso()).compareTo(TIPO_PERMISOS.ESCRITURA)==0)
         //           html += helperCalendario.getHTMLAgregarEvento(this.mes);

         html +=      "        </div>\n";
         helperComunicacion = new HelperComunicacion(this.getPagina(),this);
         // genera el html del combo mes y los botones de cambio de mes y de editar calendario
         html += this.generarHtmlBotonAgregarModificar();
         html += helperComunicacion.getHTMLUltimosEventosCalendario(mes);
         helperComunicacion.commit();
      }
      catch (Exception ex) {
        ex.printStackTrace();
        helperCalendario.rollback();
        helperComunicacion.rollback();
        return  comun.MensajeDeError.ERROR_EN_LA_GENERACION_DE_LA_PAGINA;

      }
     return html;
   }

  /**
   * Retrona el titulo de la Pagina
   * @return
   */
  public String getTituloComunicacionParticular()
  {
    return TITULOS_PAGINAS.CALENDARIO;
  }

  // redefino el metodo abstracto de Vista contenido
  protected String getNombrePagina()
  {
    return "calendario.jsp";
  }

  // redefino el metodo abstracto de Vista contenido
  public String getTituloLink()
  {
    return "\""+TEXTOS.CALENDARIO+"\">C<span>"+this.getTeclaAccesoRapido()+"</span>lendario";
  }

// redefino el metodo abstracto de Vista contenido
  public String getNombreRecurso()
  {
    return RECURSOS.CALENDARIO;
  }

// redefinicion del metodo
  public String getNombreComunicacion()
  {
    return TEXTOS.EVENTO;
  }

  // redefinicion del metodo
  public String getNombreComunicacionPlural()
  {
    return TEXTOS.EVENTOS;
  }
  public String getTeclaAccesoRapido() {	
		return "a";
	}


}
